<?php
//------------------------------------------------------------ Contraintes d'accès de la page

	// on vérifie que cette page est appelée à partir de l'index et que l'utilisateur a le droit de consultation
	if(isset($_SESSION) && ($GLOBALS['USER']['level'] >= 2 || $GLOBALS['USER']['admin'])){
	
		// l'identifiant de la donnée à supprimer est indiqué par un entier
		if(isset($_GET['id']) && numericInt($_GET['id'])){
		
			$nb_especes = valueExists((int)$_GET['id'], "CODEESPECE", "espece", $connexion);
			
			if($nb_especes == 1){ // l'espèce à afficher existe et son identifiant est unique
	
?>
<?php
/********************************* Règles :

	- id doit désigner une seule espèce
	- L'espèce doit exister dans la BDD

*****************************************/

	// récupération des informations de l'espèce
	$query_recuperation_espece = "SELECT e.NOMESPECE AS nom, a.NOMAUTEUR AS nomAuteur, a.PRENOMAUTEUR AS prenomAuteur, a.ABREVIATIONAUTEUR AS abreviationAuteur, c1.CODECLASSIFICATION AS idClassificationG, c1.NOMCLASSIFICATION AS classificationG, g.CODEGENRE AS idGenre, g.NOMGENRE AS genre, c2.CODECLASSIFICATION AS idClassificationSG, c2.NOMCLASSIFICATION AS classificationSG, sg.CODESOUSGENRE AS idSousGenre, sg.NOMSOUSGENRE AS sousGenre, pp.CODEPROPRIETEESPECE AS idPropriete, pp.NOMPROPRIETEESPECE AS propriete, l3.VALEUR AS valeurPropriete, lst.CODELISTE AS idListe, lst.NOMLISTE AS liste, anx.CODEANNEXE AS idAnnexe, anx.NOMANNEXE AS annexe, e.ANNEEAPPARITION AS annee, ag.NOMAIREGEOGRAPHIQUE AS origine ";
	$query_recuperation_espece .= "FROM espece e ";
	$query_recuperation_espece .= "INNER JOIN auteur a ON e.CODEAUTEUR = a.CODEAUTEUR ";
	$query_recuperation_espece .= "INNER JOIN aire_geographique ag ON e.CODEAIREGEOGRAPHIQUE = ag.CODEAIREGEOGRAPHIQUE ";
	$query_recuperation_espece .= "LEFT JOIN genre_a_pour_espece l1 INNER JOIN genre g ON l1.CODEGENRE = g.CODEGENRE INNER JOIN classification c1 ON l1.CODECLASSIFICATION = c1.CODECLASSIFICATION ON l1.CODEESPECE = e.CODEESPECE ";
	$query_recuperation_espece .= "LEFT JOIN a_pour_sous_genre l2 INNER JOIN sous_genre sg ON l2.CODESOUSGENRE = sg.CODESOUSGENRE INNER JOIN classification c2 ON l2.CODECLASSIFICATION = c2.CODECLASSIFICATION ON l2.CODEESPECE = e.CODEESPECE ";
	$query_recuperation_espece .= "LEFT JOIN possede_propriete l3 INNER JOIN propriete_espece pp ON l3.CODEPROPRIETEESPECE = pp.CODEPROPRIETEESPECE ON l3.CODEESPECE = e.CODEESPECE ";
	$query_recuperation_espece .= "LEFT JOIN est_dans_liste l4 INNER JOIN liste lst ON l4.CODELISTE = lst.CODELISTE ON l4.CODEESPECE = e.CODEESPECE ";
	$query_recuperation_espece .= "LEFT JOIN est_dans_annexe l5 INNER JOIN annexe anx ON l5.CODEANNEXE = anx.CODEANNEXE ON l5.CODEESPECE = e.CODEESPECE ";
	$query_recuperation_espece .= "WHERE e.CODEESPECE = ".$_GET['id']." ";
	
	$result_recuperation_espece = mysql_query($query_recuperation_espece, $connexion) or logError("RECUPERATION ESPECE-".$query_recuperation_espece."-".mysql_error());
	
	$espece = array(); // on créé un tableau contenant toutes les informations de l'espèce
	while($tab_recuperation_espece = mysql_fetch_assoc($result_recuperation_espece)){
	
		$espece['nom'] = $tab_recuperation_espece['nom'];
		$espece['annee'] = $tab_recuperation_espece['annee'];
		$espece['origine'] = $tab_recuperation_espece['origine'];
		$espece['nomAuteur'] = $tab_recuperation_espece['nomAuteur'];
		$espece['prenomAuteur'] = $tab_recuperation_espece['prenomAuteur'];
		$espece['abreviationAuteur'] = $tab_recuperation_espece['abreviationAuteur'];
		
		$espece['classificationG'][$tab_recuperation_espece['idGenre']."-".$tab_recuperation_espece['idClassificationG']]['id'] = $tab_recuperation_espece['idGenre'];
		$espece['classificationG'][$tab_recuperation_espece['idGenre']."-".$tab_recuperation_espece['idClassificationG']]['genre'] = $tab_recuperation_espece['genre'];
		$espece['classificationG'][$tab_recuperation_espece['idGenre']."-".$tab_recuperation_espece['idClassificationG']]['classification'] = $tab_recuperation_espece['classificationG'];
		
		if(!is_null($tab_recuperation_espece['sousGenre'])){
		
			$espece['classificationSG'][$tab_recuperation_espece['idSousGenre']."-".$tab_recuperation_espece['idClassificationSG']]['id'] = $tab_recuperation_espece['idSousGenre'];
			$espece['classificationSG'][$tab_recuperation_espece['idSousGenre']."-".$tab_recuperation_espece['idClassificationSG']]['sousGenre'] = $tab_recuperation_espece['sousGenre'];
			$espece['classificationSG'][$tab_recuperation_espece['idSousGenre']."-".$tab_recuperation_espece['idClassificationSG']]['classification'] = $tab_recuperation_espece['classificationSG'];
		
		}
		
		if(!is_null($tab_recuperation_espece['propriete'])){
		
			$espece['proprietes'][$tab_recuperation_espece['idPropriete']]['propriete'] = $tab_recuperation_espece['propriete'];
			$espece['proprietes'][$tab_recuperation_espece['idPropriete']]['valeur'] = $tab_recuperation_espece['valeurPropriete'];
		
		}
		
		if(!is_null($tab_recuperation_espece['liste'])){
		
			$espece['listes'][$tab_recuperation_espece['idListe']] = $tab_recuperation_espece['liste'];
		
		}
		
		if(!is_null($tab_recuperation_espece['annexe'])){
		
			$espece['annexes'][$tab_recuperation_espece['idAnnexe']] = $tab_recuperation_espece['annexe'];
		
		}
	
	}
	
	mysql_free_result($result_recuperation_espece);
	
	// On remet les noms des auteurs ensembles si il y en a plusieurs
	$auteurs = array(); // On créé un tableau contenant les auteurs
	
	if(!is_null($espece['nomAuteur'])){
		$nomsAuteur = explode(",", $espece['nomAuteur']);
		$nbNoms = count($nomsAuteur);
	}else{
		$nbNoms = 0;
	}
	if(!is_null($espece['prenomAuteur'])){
		$prenomsAuteur = explode(",", $espece['prenomAuteur']);
		$nbPrenoms = count($prenomsAuteur);
	}else{
		$nbPrenoms = 0;
	}
	
	for($i=0; $i<$nbNoms; $i++){
		$auteurs[$i]['nom'] = trim($nomsAuteur[$i]);
		$auteurs[$i]['prenom'] = trim($prenomsAuteur[$i]);
	}
	
?>
<h3>Détail d'une espece</h3>
<table class="fiche" style="width: 100%;">
	<tr>
		<td colspan="2">
			<b><?php echo htmlentities(capitalise($espece['nom']), ENT_NOQUOTES, "UTF-8"); ?></b>
		</td>
	</tr>
	<tr>
		<th colspan="2">Auteur(s)</th>
	</tr>
	<tr>
		<td style="width: 27%" class="etiquette">Prénom(s), NOM(S):</td>
		<td style="width: 73%">
			<?php
				if($nbNoms == $nbPrenoms){
					if($nbNoms > 0){
						for($i=0; $i<$nbNoms; $i++){
							echo htmlentities(capitalise($auteurs[$i]['prenom']), ENT_NOQUOTES, "UTF-8")." ".htmlentities(mb_strtoupper($auteurs[$i]['nom']), ENT_NOQUOTES, "UTF-8");
							if($i < $nbNoms-1){
								echo ", ";
							}
						}
					}else{
						echo "<i>inconnus</i>";
					}
				}else{
					echo "<b>Nom(s)</b> : ";
					if($nbNoms > 0){
						for($i=0; $i<$nbNoms; $i++){
							echo htmlentities(mb_strtoupper($auteurs[$i]['nom']), ENT_NOQUOTES, "UTF-8");
							if($i < $nbNoms-1){
								echo ", ";
							}
						}
					}else{
						echo "<i>inconnu</i>";
					}
					echo "<br />";
					echo "<b>Prénom(s)</b> : ";
					if($nbPrenoms > 0){
						for($i=0; $i<$nbPrenoms; $i++){
							echo htmlentities(capitalise($auteurs[$i]['prenom']), ENT_NOQUOTES, "UTF-8");
							if($i < $nbPrenoms-1){
								echo ", ";
							}
						}
					}else{
						echo "<i>inconnu</i>";
					}
				}
			?>
		</td>
	</tr>
	<tr>
		<td class="etiquette">Abréviation:</td>
		<td><?php echo htmlentities($espece['abreviationAuteur'], ENT_NOQUOTES, "UTF-8"); ?></td>
	</tr>
	<tr>
		<th colspan="2">Informations</th>
	</tr>
	<tr>
		<td class="etiquette">Origine:</td>
		<td>
			<b><?php echo htmlentities($espece['origine'], ENT_NOQUOTES, "UTF-8"); ?></b>
			<?php
				if(!is_null($espece['annee'])){
					echo ", en <i>".$espece['annee']."</i>";
				}
			?>
		</td>
	</tr>
	<tr>
		<td class="etiquette">Propriété(s):</td>
		<td>
			<?php
				if(isset($espece['proprietes'])){
					echo "<ul>";
					foreach($espece['proprietes'] as $propriete){
						echo "<li>";
						echo "<b>".htmlentities($propriete['propriete'], ENT_NOQUOTES, "UTF-8")."</b>";
						if(!is_null($propriete['valeur'])){
							echo " : ".$propriete['valeur'];
						}
						echo "</li>";
					}
					unset($propriete);
					echo "</ul>";
				}else{
					echo "<i>Aucune propriété connue</i>";
				}
			?>
		</td>
	</tr>
	<tr>
		<td class="etiquette">Liste(s) Esp. Protg.:</td>
		<td>
			<?php
				if(isset($espece['listes'])){
					echo "<ul>";
					foreach($espece['listes'] as $liste){
						echo "<li>".htmlentities($liste, ENT_NOQUOTES, "UTF-8")."</b></li>";
					}
					unset($liste);
					echo "</ul>";
				}else{
					echo "<i>Espèce non-protégée</i>";
				}
			?>
		</td>
	</tr>
	<tr>
		<td class="etiquette">Annexe(s):</td>
		<td>
			<?php
				if(isset($espece['annexes'])){
					echo "<ul>";
					foreach($espece['annexes'] as $annexe){
						echo "<li>".htmlentities($annexe, ENT_NOQUOTES, "UTF-8")."</b></li>";
					}
					unset($annexe);
					echo "</ul>";
				}else{
					echo "<i>Aucune</i>";
				}
			?>
		</td>
	</tr>
	<tr>
		<th colspan="2">Classification</th>
	</tr>
	<tr>
		<td class="etiquette">Genres:</td>
		<td>
			<?php
				echo "<ul>";
				foreach($espece['classificationG'] as $lien){
					echo "<li><a href=\"popup.php?p=gestion/genre_affiche_popup&amp;id=".$lien['id']."\" onclick=\"popup(this.href, 550, 400); return false;\"><b>".htmlentities(capitalise($lien['genre']), ENT_NOQUOTES, "UTF-8")."</b></a> selon <b>".htmlentities($lien['classification'], ENT_NOQUOTES, "UTF-8")."</b></li>";
				}
				unset($lien);
				echo "</ul>";
			?>
		</td>
	</tr>
	<tr>
		<td class="etiquette">Sous-genres:</td>
		<td>
			<?php
				if(isset($espece['classificationSG'])){
					echo "<ul>";
					foreach($espece['classificationSG'] as $lien){
						echo "<li><a href=\"popup.php?p=gestion/sousgenre_affiche_popup&amp;id=".$lien['id']."\" onclick=\"popup(this.href, 550, 400); return false;\"><b>".htmlentities(capitalise($lien['sousGenre']), ENT_NOQUOTES, "UTF-8")."</b></a> selon <b>".htmlentities($lien['classification'], ENT_NOQUOTES, "UTF-8")."</b></li>";
					}
					unset($lien);
					echo "</ul>";
				}else{
					echo "<i>Aucun lien</i>";
				}
			?>
		</td>
	</tr>
</table>
<?php
//------------------------------------------------------------ Accès refusé à la page

			}else{
				afficherStatut("L'espèce n'existe pas", 3); // appel à la fonction afficherStatut() définie dans fonctions.php
			}

		}else{
			afficherStatut("L'espèce n'est pas ou mal indiquée", 3); // appel à la fonction afficherStatut() définie dans fonctions.php
		}

	}else{
		if(isset($_SESSION)){
			include("pages/401.htm");
		}
	}

?>